Java的输入 Scanner in=new Scanner(System.in);

您所在的位置:网站首页 full body scanner是什么意思 Java的输入 Scanner in=new Scanner(System.in);

Java的输入 Scanner in=new Scanner(System.in);

2023-11-22 11:25| 来源: 网络整理| 查看: 265

java和c++还是有好多不同的地方,需要从头开始认认真真地学

文章目录 输入数字输入double输入整型 输入一个字符输入字符串判断2个字符串是否相等Java的字符串要用""双引号引起来,而不是''单引号 输入一维数组输入二维数组输入多组数据

输入数字 输入double import java.util.Scanner;//输入头文件 public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); double d=in.nextDouble(); System.out.println(d); } }

在这里插入图片描述

输入整型 import java.io.*; import java.util.Scanner;//输入头文件 public class Main { public static void main(String args[]) { Scanner in = new Scanner(System.in); int a = in.nextInt(); //调用in的nextInt函数来读入整型 int b = in.nextInt(); System.out.print(a+b+" "); System.out.print(a*b+" "); } }

在上面的程序中可以看到一共调用了2次nextInt()函数,所以键盘会等待你输入2个整数。

在这里插入图片描述

如果输入多个整数,它只会取前2个数字。

在这里插入图片描述

注意:in.nextInt() 函数只能接受 int 型,不能输入double或者long等其他类型的数字,否则会报错。

对于其他输入的函数同样,nextDouble(), nextLong(), nextShort(), nextByte(), 都只能输入对应类型的数据,输入其他类型会报错。

输入一个字符

如果你用java做一些比较简单的题,比如说只需要输入一个字符这种,你可能会觉得java里面有nextChar()这个接受单个字符的函数,但事实并不是这样,这样写就会报错。

在这里插入图片描述

正确写法:

import java.io.*; import java.sql.SQLSyntaxErrorException; import java.util.*; import java.util.List; import java.security.cert.PolicyNode; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); char ch=in.next().charAt(0);//只输入单独一个字符的代码 System.out.print(ch); } }

这样输入单个字符的原理就是先用 next() 函数读入接下来输入的字符串,然后再用 charAt() 函数取得字符串中的第一个字符,这样就相当于只输入了一个字符。经过亲自输入证明仅仅只输入一个字符,那输出的就是这个字符,如果输入一个字符串,结果输出的是这个字符串的第一个字符。(请看以下截图)

在这里插入图片描述

在这里插入图片描述

输入字符串

输入字符串时要注意,因为Java是大小写严格的,所以String的S必须大写,虽然C++中string是小写的。

import java.io.*; import java.util.Scanner;//输入头文件 public class Main { public static void main(String args[]) { Scanner in=new Scanner(System.in); String s=in.nextLine(); //用 in 的 nextLine() 函数读入字符串 System.out.println(s); } }

运行结果:

在这里插入图片描述

判断2个字符串是否相等

String中有一个函数就是判断是否和另一个字符串相等 equals() ,括号中写入要比较的字符串

import java.io.*; import java.util.Scanner;//输入头文件 public class Main { public static void main(String args[]) { Scanner in=new Scanner(System.in); String s=in.nextLine(); if(s.equals("fantastic")) //使用了字符串的函数 equals() 来判断 System.out.println("极好的,了不起的"); } }

运行结果:

在这里插入图片描述

(每次举例子不知道举什么,突然感觉举单词还不错,还可以加深印象,不错不错,一举两得)

Java的字符串要用""双引号引起来,而不是’'单引号

在Java中用英文下的单引号引起来的是一个字符,而不是字符串。 而且用单引号引起来的只能有一个字符,如果有多个字符,就会报错(只看红色的就可以)

在这里插入图片描述 翻译过来就是:字符字面上有太多字符。 但是如果用双引号引起来多个字符是不会报错的。

判断2个字符是否相等可以用==来判断 在这里插入图片描述

输入一维数组 import java.io.*; import java.util.Scanner;//输入头文件 import java.util.Arrays; //引入数组类 public class Main { public static void main(String args[]) { Scanner in=new Scanner(System.in); int a[]=new int [6]; for(int i=0;i Scanner in=new Scanner(System.in); int n=in.nextInt();//输入行数和列数 int m=in.nextInt(); int a[][]=new int[n][m]; in.nextLine(); //用来读掉回车前的所有字符,不将他们包括在数组的输入中 for(int i=0;i for(int j=0;j Scanner in=new Scanner(System.in); while(in.hasNext()){ //只要一直输入,循环就不会停止 int a=in.nextInt(); int b=in.nextInt(); System.out.println(a+b); } } }

处理方法:按 ctrl+D 直接退出循环。(在C++中用while不断输入时是用 ctrl+Z 退出循环)

在这里插入图片描述

如果while中这么写,即使while中是 hanNextInt() ,在循环内部也可以输入Double类型数据(short类型也可以),最后输出的是double类型的数据,强制类型转换了,转换成精度更高的数据类型。

while(in.hasNextInt()){ int a=in.nextInt(); double b=in.nextDouble(); System.out.println(a+b); }

在这里插入图片描述

法2: 遇到某个符号结束输入

import java.io.*; import java.util.Scanner;//输入头文件 import java.util.Arrays;//引入数组类 public class Main { public static void main(String args[]) { Scanner in=new Scanner(System.in); while(!in.hasNext("-1")){ //当输入的第一个数是-1时则退出循环,如果第2个数是-1,不会退出循环 int a=in.nextInt(); int b=in.nextInt(); System.out.println(a+b); } } }

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3